//设计模5计数器程序，有进位输出和异步复位端。
//制作者：FPGA研究者
//时间：2022年6月26日

module count5(clk,rst_n,cout,result);
      input clk,rst_n;
		output reg [2:0] result;
		output reg cout;
always@(posedge clk or negedge rst_n) begin
     if(!rst_n) begin
	    result=0;
		 //cout=0;
		 end
		else if(result==3'b101)begin
		 // cout=1;
		  result<=0;
	     end
		 else begin
		    result<=result+1;
		//	 cout<=0;
	     end
end

always@(posedge clk or negedge rst_n) begin
     if(!rst_n) begin
	    //result=0;
		 cout=0;
		 end
		else if(result==3'b100)begin  //这里是再过一个周期才赋值
		  cout<=1;
		 // result<=0;
	     end
		 else begin
		  //  result<=result+1;
			 cout<=0;
	     end
end

endmodule